#ifndef GNBUILDCONFIGURATION_H
#define GNBUILDCONFIGURATION_H

#if (!defined(GNDEBUG) && !defined(GNLOG) && !defined(GNRELEASE))
#error Exactly one of GNDEBUG, GNRELEASE, or GNLOG must be defined.
#endif

#ifndef GNBUILD
#    if defined(GNDEBUG)
#        define GNBUILD 1
#    elif defined(GNLOG)
#        define GNBUILD 1
#    elif defined(GNRELEASE)
#        define GNBUILD 0
#    endif
#endif // GNBUILD

#ifndef GN_USE_MEMORY_MANAGEMENT
#    if defined(GNDEBUG)
#        define GN_USE_MEMORY_MANAGEMENT 1
#    elif defined(GNLOG)
#        define GN_USE_MEMORY_MANAGEMENT 1
#    elif defined(GNRELEASE)
#        define GN_USE_MEMORY_MANAGEMENT 0
#    endif
#endif // GN_USE_MEMORY_MANAGEMENT

#endif	// GNBUILDCONFIGURATION_H
